| 1234567891011121314151617181920212223242526272829 |
- import { getPageImage, source } from '@/lib/source';
- import { notFound } from 'next/navigation';
- import { ImageResponse } from 'next/og';
- import { generate as DefaultImage } from 'fumadocs-ui/og';
- import { appName } from '@/lib/shared';
- export const dynamic = 'force-static';
- export const revalidate = false;
- export async function GET(_req: Request, { params }: RouteContext<'/og/docs/[...slug]'>) {
- const { slug } = await params;
- const page = source.getPage(slug.slice(0, -1));
- if (!page) notFound();
- return new ImageResponse(
- <DefaultImage title={page.data.title} description={page.data.description} site={appName} />,
- {
- width: 1200,
- height: 630,
- },
- );
- }
- export function generateStaticParams() {
- return source.getPages().map((page) => ({
- lang: page.locale,
- slug: getPageImage(page).segments,
- }));
- }
|